home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 October / Chip Ekim 2003.iso / prog / network / ferret / setup.exe / {app} / LinkFerret.chm / ferret.js < prev    next >
Encoding:
JavaScript  |  2003-07-13  |  7.2 KB  |  364 lines

  1. /*
  2.  * Ferret.JS
  3.  *
  4.  *
  5.  * Function.
  6.  *  Java functions for LinkFerret.WS
  7.  *
  8.  *
  9.  * History.
  10.  *  $Log: $
  11.  *
  12.  *
  13.  * Copyright (c) 2001,2003 BaseBand Technologies, Inc.  All Rights Reserved.
  14.  *
  15.  *
  16.  */
  17.  
  18. /*
  19.  *  Global Variables.
  20.  *
  21.  */
  22. var in_menu = 0;
  23. var current_menu = "";
  24. var refresh_string = "";
  25. var products_menu = 1;
  26. var partners_menu = 2;
  27. var company_menu = 3;
  28. var features_menu = 4;
  29. var support_menu = 5;
  30. var ferrets_menu = 6;
  31. var show_ferrets = 0;
  32. var ie4=(document.all) ? 1 : 0;
  33. var netscape4=(document.layers) ? 1 : 0;
  34. var dom=(document.getElementById) ? 1 : 0;
  35. var new_doc;
  36.  
  37.  
  38. /*
  39.  *  Create the Layer Header for one of the menus.
  40.  *
  41.  */
  42. function create_menu_body(body_name, body_width)
  43. {
  44.  var header_text;
  45.  
  46.  if(dom || ie4)
  47.   header_text='<div id=' + body_name + ' style=\"visibility:hidden;position:absolute;left:0px;top:0px;width:' + body_width + 'px;z-index=0;\">';
  48.  else
  49.   header_text='<layer id=\"' + body_name + '\" top=\"0\" left=\"0\" visibility=\"hide\" z-index=\"0\">';
  50.   
  51.  
  52.  document.write(header_text);
  53.  
  54.  if(netscape4)
  55.   new_doc = document.layers[body_name].document;
  56. }
  57.  
  58. /*
  59.  *  Terminate one of the Layers.
  60.  *
  61.  */
  62. function end_menu_body()
  63. {
  64.   var tail_text;
  65.  
  66.  if(dom || ie4)
  67.  {
  68.   tail_text='<\/div>';
  69.   document.write(tail_text);
  70.  }
  71.  else
  72.  {
  73.   tail_text='<\/layer>';
  74.   new_doc.write(tail_text);
  75.   new_doc.close();
  76.  }
  77. }
  78.  
  79. /*
  80.  *  Position a menu and make it visible.
  81.  *
  82.  */
  83. function offset_to_gif(gif_id, menu_id, top, left)
  84. {
  85.  var elem;
  86.  var menu;
  87.  var new_top = 0;
  88.  var new_left = 0;
  89.  
  90.  refresh_string = menu_id;
  91.  if(dom)
  92.  {
  93.   elem = document.getElementById(gif_id);
  94.   menu = document.getElementById(menu_id);
  95.  }
  96.  else if(ie4)
  97.  {
  98.   elem = document.all[gif_id];
  99.   menu = document.all[menu_id];
  100.  }
  101.  
  102.  do
  103.  {
  104.   new_top += elem.offsetTop;
  105.   new_left += elem.offsetLeft;
  106.  } while ((elem = elem.offsetParent) != null);
  107.  
  108.  if(dom)
  109.   menu.style.position = "absolute";
  110.  
  111.  menu.style.visibility = "visible";
  112.  menu.style.left = new_left + left + "px";
  113.  menu.style.top = new_top + top + "px";
  114. }
  115.  
  116. /*
  117.  *  Position a screenshot and make it visible.
  118.  *
  119.  */
  120. function show_picture(gif_id, menu_id)
  121. {
  122.  var elem;
  123.  var menu;
  124.  var new_top = 0;
  125.  var new_left = 0;
  126.  
  127.  if(dom)
  128.  {
  129.   elem = document.getElementById(gif_id);
  130.   menu = document.getElementById(menu_id);
  131.  }
  132.  else if(ie4)
  133.  {
  134.   elem = document.all[gif_id];
  135.   menu = document.all[menu_id];
  136.  }
  137.  
  138.  do
  139.  {
  140.   new_top += elem.offsetTop;
  141.  } while ((elem = elem.offsetParent) != null);
  142.  
  143.  if(dom || netscape4)
  144.   menu.style.position = "absolute";
  145.  
  146.  menu.style.left = new_left + "px";
  147.  menu.style.top = new_top + "px";
  148.  menu.style.visibility = "visible";
  149. }
  150.  
  151. /*
  152.  *  Hide a menu.
  153.  *
  154.  */
  155. function hide_menu(menu_id)
  156. {
  157.  var elem;
  158.  
  159.  if(dom)
  160.  {
  161.   elem = document.getElementById(menu_id);
  162.   elem.style.visibility = "hidden";
  163.  }
  164.  else if(ie4)
  165.  {
  166.   elem = document.all[menu_id];
  167.   elem.style.visibility = "hidden";
  168.  }
  169.  else
  170.  {
  171.   elem = document.layers[menu_id];
  172.   elem.visibility = "hide";
  173.  }
  174.  
  175.  
  176. }
  177.  
  178. /*
  179.  *  Display a menu.
  180.  *
  181.  */
  182. function show_menu(menu_number)
  183. {
  184.  var gif_name;
  185.  var menu_name;
  186.  
  187.  if((in_menu == 0) || (current_menu != menu_number))
  188.  {
  189.   if(in_menu == 1)
  190.   {
  191.    if((menu_number != ferrets_menu) && (current_menu != products_menu) && (menu_number != products_menu))
  192.    {
  193.      ferrets_off();
  194.    }
  195.  
  196.    hide_menu("partners_menu_body");
  197.    hide_menu("company_menu_body");
  198.    hide_menu("features_menu_body");
  199.    hide_menu("support_menu_body");
  200.   }
  201.    
  202.   if(!show_ferrets)
  203.     ferrets_off();
  204.  
  205.   in_menu=1;
  206.   current_menu = menu_number;
  207.  
  208.   switch(menu_number)
  209.   {
  210.    case 1:  // products_menu
  211.      offset_to_gif("products", "products_menu_body", 25, 0);
  212.      break;
  213.  
  214.    case 2:  // partners_menu
  215.      ferrets_off();
  216.      offset_to_gif("partners", "partners_menu_body", 25, 0);
  217.      break;
  218.  
  219.    case 3:  // company_menu
  220.      ferrets_off();
  221.      offset_to_gif("company", "company_menu_body", 25, 0);
  222.      break;
  223.  
  224.    case 4:  // features_menu
  225.      ferrets_off();
  226.      offset_to_gif("features", "features_menu_body", 25, 0);
  227.      break;
  228.  
  229.    case 5:  // support_menu
  230.      ferrets_off();
  231.      offset_to_gif("support", "support_menu_body", 25, 0);
  232.      break;
  233.  
  234.    case 6:  // ferrets_menu
  235.     offset_to_gif("products", "ferrets_menu_body", 25, 130);
  236.     break;
  237.   }
  238.  }
  239. }
  240.  
  241. /*
  242.  *  Set the menus to a defined initial state.
  243.  *
  244.  */
  245. function init_menus()
  246. {
  247.  in_menu=0;
  248.  setTimeout("restore_menus()",50);
  249. }
  250.  
  251. /*
  252.  *  Hide all of the menus.
  253.  *
  254.  */
  255. function restore_menus()
  256. {
  257.  if(in_menu == 0)
  258.  {
  259.   hide_menu('products_menu_body');
  260.   hide_menu('company_menu_body');
  261.   hide_menu('partners_menu_body');
  262.   hide_menu('features_menu_body');
  263.   hide_menu('support_menu_body');
  264.   hide_menu('ferrets_menu_body');
  265.   show_ferrets = 0;
  266.  }
  267.  else
  268.  {
  269.   if((current_menu != products_menu) && (current_menu != ferrets_menu))
  270.    hide_menu('products_menu_body');
  271.  
  272.   if(current_menu != company_menu)
  273.    hide_menu('company_menu_body');
  274.  
  275.   if(current_menu != partners_menu)
  276.    hide_menu('partners_menu_body');
  277.  
  278.   if(current_menu != features_menu)
  279.    hide_menu('features_menu_body');
  280.  
  281.   if(current_menu != support_menu)
  282.    hide_menu('support_menu_body');
  283.  
  284.   if((current_menu != ferrets_menu) && (!show_ferrets))
  285.    hide_menu('ferrets_menu_body');
  286.  }
  287. }
  288.  
  289. /*
  290.  *  Output the date of the last page modification.
  291.  *
  292.  */
  293. function write_page_modified()
  294. {
  295.  var ModifiedData = new Date(document.lastModified);
  296.  var Month;
  297.  var Year;
  298.  var StringData;
  299.  
  300.  switch(ModifiedData.getMonth())
  301.  {
  302.   case 0:Month='January ';break;
  303.   case 1:Month='February ';break;
  304.   case 2:Month='March ';break;
  305.   case 3:Month='April ';break;
  306.   case 4:Month='May ';break;
  307.   case 5:Month='June ';break;
  308.   case 6:Month='July ';break;
  309.   case 7:Month='August ';break;
  310.   case 8:Month='September ';break;
  311.   case 9:Month='October ';break;
  312.   case 10:Month='November ';break;
  313.   case 11:Month='December ';break;
  314.   default:Month='Unknown ';break;
  315.  }
  316.  
  317.  Year=ModifiedData.getYear();
  318.  if((Year > 100) && (Year < 1900))
  319.   Year += 1900
  320.  else if(Year < 2000)
  321.   Year += 2000;
  322.  
  323.  StringData='This page last modified ' + Month + ModifiedData.getDate() + ', ' + Year + '.<br>';
  324.  document.write(StringData);
  325. }
  326.  
  327. /*
  328.  *  Create a Layer for a screenshot.
  329.  *
  330.  */
  331. function create_picture_layer(body_name, image_src, picture_height,picture_width)
  332. {
  333.   var header_text='<div id=' + body_name + ' style=\"visibility:hidden;position:absolute;left:0px;top:0px;z-index=0;\">';
  334.   var image_desc='<img alt=\"click on the image to remove it\" border=\"0\" src=\"' + image_src +'\" width=\"' + picture_width + '\" height=\"' + picture_height + '\">';
  335.   var table_header='<table><tr><td onclick=\"javascript:hide_menu(\'' + body_name + '\');\">';
  336.   var table_end='<\/td><\/tr><\/table><\/div>';
  337.  
  338.   document.write(header_text);
  339.   document.write(table_header);
  340.   document.write(image_desc);
  341.   document.write(table_end);
  342. }
  343.  
  344. /*
  345.  *  Turn off the ferrets sub-menu.
  346.  *
  347.  */
  348. function ferrets_off()
  349. {
  350.   show_ferrets = 0;
  351.   hide_menu('ferrets_menu_body');
  352. }
  353.  
  354. /*
  355.  *  Turn on the ferrets sub-menu.
  356.  *
  357.  */
  358. function show_ferrets_menu()
  359. {
  360.   show_ferrets = 1;
  361.   show_menu(ferrets_menu);
  362. }
  363.  
  364.